package cn.com.xuhx.mapper;

import cn.com.xuhx.pojo.Department;
import cn.com.xuhx.pojo.DepartmentExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface DepartmentMapper {
    /**
     * 根据条件统计总数
     * @param example
     * @return
     */
    long countByExample(DepartmentExample example);

    /**
     * 根据条件进行删除
     * @param example
     * @return
     */
    int deleteByExample(DepartmentExample example);

    /**
     * 根据主键进行删除
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 普通插入
     * @param record
     * @return
     */
    int insert(Department record);

    /**
     * 选择性插入
     * @param record
     * @return
     */
    int insertSelective(Department record);

    /**
     * 根据条件进行查询
     * @param example
     * @return
     */
    List<Department> selectByExample(DepartmentExample example);

    /**
     * 根据主键进行查询
     * @param id
     * @return
     */
    Department selectByPrimaryKey(Integer id);

    /**
     * 根据条件选择性修改
     * @param record
     * @param example
     * @return
     */
    int updateByExampleSelective(@Param("record") Department record, @Param("example") DepartmentExample example);

    /**
     * 根据条件进行修改
     * @param record
     * @param example
     * @return
     */
    int updateByExample(@Param("record") Department record, @Param("example") DepartmentExample example);

    /**
     * 根据主键选择性修改
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Department record);

    /**
     * 根据主键进行修改
     * @param record
     * @return
     */
    int updateByPrimaryKey(Department record);
}